The present invention generally relates to a method for processing a database query on a database system, and more particularly to a database system including a programmable integrated circuit that is operable to implement a plurality of database operations.
The performance of analytical database systems when processing database queries may be improved by exploiting programmable integrated circuits, like FPGAs, to offload parts of the query processing from the main processors of the database system. Such FPGAs may, for example, be used in query processing for decompression, transaction visibility filtering, simple selections and projecting required columns. This de-burdens the main processors from those early stages of query processing and decreases the amount of data that the central processing unit must process by a great deal.
Typically, a static configuration of the programmable integrated circuit in used may remain the same for all queries. Thus, the programmable integrated circuit always executes the same logic. The logic is only parameterized, for example, by the visible transaction window, the comparison values for the selections or the set of columns to project. The logic itself however does not anticipate the specific characteristics of a particular query.